public class Cylinder extends Circle {
    // 圆柱体的高
    private double height;

    // 构造方法
    public Cylinder(double radius, double height) {
        super(radius);
        this.height = height;
    }

    // 重写计算表面积的方法
    // 圆柱体表面积 = 2个底面积 + 侧面积 = 2πr² + 2πrh
    @Override
    public double calculateArea() {
        // 调用父类的面积计算方法（底面积）
        double baseArea = super.calculateArea();
        // 计算侧面积：底面周长 × 高
        double lateralArea = calculatePerimeter() * height;
        // 总表面积 = 2个底面积 + 侧面积
        return 2 * baseArea + lateralArea;
    }

    // 新增功能：计算体积
    // 圆柱体体积 = 底面积 × 高
    public double calculateVolume() {
        return super.calculateArea() * height;
    }

    // 重写toString方法，输出圆柱体信息
    @Override
    public String toString() {
        return "Cylinder{半径=" + getRadius() +
                ", 高=" + height +
                ", 表面积=" + calculateArea() +
                ", 体积=" + calculateVolume() + "}";
    }

}
